﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bdcs.Core.Entity
{
    /// <summary>
    /// ZIN001数据模型对象
    /// </summary>
    [Serializable]
    public partial class ZIN001Mod
    {
        /// <summary>
        /// 初始化ZIN001数据模型对象
        /// </summary>
        public ZIN001Mod()
        {
            
        }
        /// <summary>
        /// 初始化ZIN001数据模型对象并给所有字段赋值
        /// </summary>
        /// <param name="卡号">卡号</param>
        /// <param name="串号">串号</param>
        /// <param name="开始时间">开始时间</param>
        /// <param name="结束时间">结束时间</param>
        public ZIN001Mod(string 卡号,string 串号,string 开始时间,string 结束时间)
        {
            //给卡号字段赋值
            this.卡号 = 卡号;
            //给串号字段赋值
            this.串号 = 串号;
            //给开始时间字段赋值
            this.开始时间 = 开始时间;
            //给结束时间字段赋值
            this.结束时间 = 结束时间;
        }
        
		//属性存储数据的变量
        private string _卡号;
        private string _串号;
        private string _开始时间;
        private string _结束时间;
        
        /// <summary>
        /// 卡号
        /// </summary>
        public string 卡号
        {
            get { return this._卡号; }
            set { this._卡号 = value; }
        }
        /// <summary>
        /// 串号
        /// </summary>
        public string 串号
        {
            get { return this._串号; }
            set { this._串号 = value; }
        }
        /// <summary>
        /// 开始时间
        /// </summary>
        public string 开始时间
        {
            get { return this._开始时间; }
            set { this._开始时间 = value; }
        }
        /// <summary>
        /// 结束时间
        /// </summary>
        public string 结束时间
        {
            get { return this._结束时间; }
            set { this._结束时间 = value; }
        }
        
        /// <summary>
        /// 对比两个ZIN001数据模型对象是否一致
        /// </summary>
        /// <param name="obj">要进行比对的ZIN001数据模型对象</param>
        /// <returns>返回是否一致，为true一致，为false不一致</returns>
        public override bool Equals(object obj)
        {
            //判断传入对象是否为null
            if (obj == null) return false;
            //将传入对象转换成ZIN001数据模型对象
            ZIN001Mod zIN001Mod = obj as ZIN001Mod;
            //判断是否转换成功
            if (zIN001Mod == null) return false;
            //进行匹配属性的值
            return
                //判断卡号是否一致
                this.卡号 == zIN001Mod.卡号 &&
                //判断串号是否一致
                this.串号 == zIN001Mod.串号 &&
                //判断开始时间是否一致
                this.开始时间 == zIN001Mod.开始时间 &&
                //判断结束时间是否一致
                this.结束时间 == zIN001Mod.结束时间;
        }
        /// <summary>
        /// 将当前ZIN001数据模型对象转换成哈希码
        /// </summary>
        /// <returns>哈希值</returns>
        public override int GetHashCode()
        {
            //将ZIN001数据模型对象的属性进行按位异或运算处理得到哈希码并返回
            return
                //将卡号进行按位异或运算处理
                (this.卡号 == null ? 2147483647 : this.卡号.GetHashCode()) ^
                //将串号进行按位异或运算处理
                (this.串号 == null ? 2147483647 : this.串号.GetHashCode()) ^
                //将开始时间进行按位异或运算处理
                (this.开始时间 == null ? 2147483647 : this.开始时间.GetHashCode()) ^
                //将结束时间进行按位异或运算处理
                (this.结束时间 == null ? 2147483647 : this.结束时间.GetHashCode());
        }
        /// <summary>
        /// 将当前ZIN001数据模型对象转换成字符串副本【仅显示在SQL中不能为空的列】
        /// </summary>
        /// <returns>字符串形式副本</returns>
        public override string ToString()
        {
            //将当前ZIN001数据模型对象转换成字符串副本
            return
                "[" +
                "]";
        }
    }
}
